package ar.com.cicweb;

import java.util.Collection;
import java.util.LinkedList;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;
//import org.springframework.web.bind.annotation.ResponseBody;

import ar.com.cicweb.dominio.Categoria;
import ar.com.cicweb.dominio.Marca;
import ar.com.cicweb.dominio.SubCategoria;
import ar.com.cicweb.dominio.SubMarca;
import ar.com.cicweb.dto.Categorizacion;
import ar.com.cicweb.dto.ProductoDTO;

@Controller
public class Inicio {

	@RequestMapping(value = "/martin.htm")
	public ModelAndView getUserName(HttpServletRequest req, HttpSession session) {
		
		ModelAndView mav = new ModelAndView("/WEB-INF/formularioCargaCompleta");
		ProductoDTO productoDTO = new ProductoDTO();
//hola
		Collection<Categoria> categorias = new LinkedList<Categoria>();
		categorias.add(new Categoria("milanesas"));
		categorias.add(new Categoria("otra cosa"));
		
		List<Categoria> lista = (List<Categoria>) categorias;

		mav.addObject("categorias", lista);
		mav.addObject("productodto", productoDTO);

		Categorizacion cargarMarcas = cargarMarcas();

		LinkedList<Categorizacion> llmdto = new LinkedList<Categorizacion>();
		

		mav.addObject("marcas", cargarMarcas);

		return mav;
	}
	
//    @RequestMapping(value = "/preguntar.htm", method = RequestMethod.GET)
//    public @ResponseBody String preguntar(@RequestParam String pregunta){
//    	
//	    }


	@RequestMapping(value = "/doCargarProducto.htm", method = RequestMethod.POST)
	public ModelAndView doCargarNuevoCliente(
			@ModelAttribute("productodto") ProductoDTO productoDTO,
			HttpServletRequest req, HttpSession session,@RequestParam String pregunta) {
		
		ModelAndView mav = new ModelAndView("/WEB-INF/formularioCargaCompleta");
		mav.addObject("nose", 3);
		
		
		return mav;
	}

	public Categorizacion cargarMarcas() {

		LinkedList<Marca> llm = new LinkedList<Marca>();
		LinkedList<SubMarca> lls = new LinkedList<SubMarca>();
		LinkedList<Categoria> llcat = new LinkedList<Categoria>();
		LinkedList<SubCategoria> llsubca = new LinkedList<SubCategoria>();

		Categorizacion marcaDTO = new Categorizacion();

		Marca marca = new Marca();
		Marca marca1 = new Marca();
		marca.setNombreMarca("nombre marca");
		marca.setIdMarca(1);

		marca1.setNombreMarca("otra marca");
		marca1.setIdMarca(2);
		
		llm.add(marca);
		llm.add(marca1);
		marcaDTO.setMarca(llm);

		SubMarca sub = new SubMarca();
		SubMarca sub1 = new SubMarca();
		sub.setSubMarca("sub marca");
		sub.setSubMarca_idMarca(1);
		sub1.setNombreSubMarca("otra subMArca");
		sub1.setSubMarca_idMarca(2);

		lls.add(sub);
		lls.add(sub1);

		Categoria c = new Categoria();
		c.setIdCategoria(1);
		c.setNombreCategoria("categoria");

		Categoria c1 = new Categoria();
		c1.setIdCategoria(2);
		c1.setNombreCategoria("categoria1");

		llcat.add(c);
		llcat.add(c1);

		SubCategoria subca = new SubCategoria();
		SubCategoria subca1 = new SubCategoria();

		subca.setNombreSubCategoria("un nombre");
		subca.setIdSubCategoria(1);
		subca.setIdCategoria(1);
		subca1.setNombreSubCategoria("otr nombre");
		subca1.setIdSubCategoria(2);
		subca1.setIdCategoria(2);

		llsubca.add(subca);
		llsubca.add(subca1);

		marcaDTO.setSubMarcas(lls);
		marcaDTO.setCategoria(llcat);
		marcaDTO.setSubCategoria(llsubca);

		return marcaDTO;

	}
	
	@RequestMapping(value = "/signin.htm")
    public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {

         

         return new ModelAndView("ajax_foo","user",null);


    }
	
}
